package net.homelinux.chaoswg.io.renga.krypto.animations.Shift;

import net.homelinux.chaoswg.io.renga.core.animations.State;
import net.homelinux.chaoswg.io.renga.krypto.datatypes.numerical.UnsignedNBit;
import net.homelinux.chaoswg.io.renga.krypto.datatypes.vectors.BitVector;

public class ShiftState implements State {
    BitVector toRotate = new BitVector ();
    BitVector result = new BitVector ();
    
    public ShiftState () {}
    
    public BitVector getToRotate() {
        return toRotate;
    }
    public void setToRotate(BitVector toRotate) {
        this.toRotate = toRotate;
    } 

    public void setOperand(final int slot, final Object value) {
        if (value instanceof BitVector && slot == 0) {
            toRotate = ((BitVector)value);
        }
    }

    public BitVector getResult() {
        return result;
    }

    public void setResult(BitVector result) {
        this.result = result;
    }
}

